home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 1996 April
/
Software of the Month Club 1996 April.iso
/
pc
/
os2
/
psutils
/
src
/
fixpspps.pl
< prev
next >
Wrap
Text File
|
1996-02-21
|
1KB
|
59 lines
@PERL@
# mangle PostScript produced by PSPrint to make it almost conforming
#
# Copyright (C) Angus J. C. Duggan 1991-1995
# See file LICENSE for details.
$header = 1; $ignore = 0;
$verbose = 0;
@body = ();
%fonts = (); $font = "";
$inchar = 0; @char = ();
while (<>) {
if (/^\@end$/) {
$ignore = 1;
} elsif (/^[0-9]+ \@bop0$/) {
$ignore = 0;
$header = 1;
} elsif ($header) {
if (/^\/([a-z.0-9]+) \@newfont$/) {
if (! defined($fonts{$1})) {
$fonts{$1} = 1;
print;
} elsif ($verbose) {
print STDERR "$font already defined\n";
}
} elsif (/^([a-z.0-9]+) sf$/) {
$font = $1;
print;
} elsif (/^\[</) {
$inchar = 1;
push (@char, $_);
} elsif ($inchar) {
push (@char, $_);
if (/.*\] ([0-9]+) dc$/) {
if (! defined($fonts{$font,$1})) {
$fonts{$font,$1} = 1;
print (@char);
} elsif ($verbose) {
print STDERR "$font character $1 already defined\n";
}
$inchar = 0;
@char = ();
}
} elsif (/^([0-9]+) \@bop1$/) {
$header = 0;
push (@body, "%%Page: ? $1\n");
push (@body, $_);
} else {
print;
}
} elsif (! $ignore) {
push (@body, $_);
}
}
print (@body);
print ("\@end\n");
@END@